<?php
namespace Home\Controller;
use Think\Controller;

class IndexController extends Controller
{
    public function test(){
        $this->show('<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;font-size:24px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px } a,a:hover{color:blue;}</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>欢迎使用 <b>ThinkPHP</b>！</p><br/>版本 V{$Think.version}</div><script type="text/javascript" src="http://ad.topthink.com/Public/static/client.js"></script><thinkad id="ad_55e75dfae343f5a1"></thinkad><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>', 'utf-8');
    }

    public function welcome()
    {
        // 区分大小写的常量名
        define("SCHOOL_NAME", "广州番禺职业技术学院");
        $name="马云";
        $message = "欢迎{$name}同学加入".SCHOOL_NAME;
        
        //将消息传给模版变量"message"
        $this->assign('title', "首页");
        $this->assign('message', $message);
        $this->display();//默认加载同名的视图文件"welcome.html"
    }

    public function welcomeV2()
    {
        // 区分大小写的常量名
        define("SCHOOL_NAME", "广州番禺职业技术学院");
        // $name=$_GET['name'];
        $name=I('name','匿名');
        $message = "欢迎{$name}同学加入".SCHOOL_NAME;
        
        //将消息传给模版变量"message"
        $this->assign('title', "首页");
        $this->assign('message', $message);
        $this->display('welcome');//默认加载同名的视图文件"welcome.html"
    }

    public function index()
    {
        if (!is_login()) {
            $this->redirect('login');
        }else{
            //已经登陆显示注销按钮
        }

        $this->display();
    }

    //http://localhost:3000/index.php?s=/home/index/register
    public function register()
    {
        //提交表单
        if (IS_AJAX) {
            $userModel = D('User');
            //在create方法之前调用field方法，则表示只允许创建指定的字段数据，其他非法字段将会被过滤
            //根据表单的数据自动创建模型，需要表单的命名与数据库的字段的命名一致
            $data=$userModel->field('username,password')->create();

            // $data['password']=I('post.password');
            // $data['username']=I('post.username');

            //创建模型失败
            if (!$data) {
                $this->ajaxReturn(
                    array(
                        code=>-2, //出错
                        data=>$data,
                        message=>$userModel->getError()
                    )
                );
            }

            //判断指定的用户名的记录是否已经存在
            // select count(*) from tp_user where username='18928779564'
            $user_exists=$userModel->where(array('username'=>$data['username']))->count()>0;
            // sdebug(M()->getLastSql(),'register',__FILE__,__LINE__);

            if ($user_exists) {
                //用户已经存在
                $this->ajaxReturn(
                    array(
                        code=>-1,
                        data=>$data,
                        message=>'用户已经存在。',
                    )
                );
            }

           

            //用户不存在，保存用户数据
            $result=$userModel->add($data);
            if ($result) {
                $this->ajaxReturn(
                    array(
                        code=>0, //正常
                        data=>$userModel->where(array('username'=>$data['username']))->find(),
                        message=>'创建用户成功。'
                    )
                );
            } else {
                //各种可能的错误集中处理，例如模型验证错误
                   $this->ajaxReturn(
                    array(
                        code=>-3, //出错
                        data=>$data,
                        message=>$userModel->getError()
                    )
                );
            }
        } else {
            //显示登陆页面
            $this->display();
        }
    }

    function login()
    {
         //提交表单
        if (IS_AJAX) {
            $userModel = D('User');
            // $userModel=new \Home\Model\User();
            $username=I('post.username');
            //$username= $_POST['username'];
            $password=md5(I('post.password'));
            $remember=I('post.remember', false, 'intval');

            $user=$userModel->login($username, $password, $remember);
            //判断指定的用户名的记录是否已经存在
            if ($user) {
                //验证通过
                $this->ajaxReturn(
                    array(
                        code=>0,
                        data=>$user, //输出用户信息
                        message=>'用户用户身份验证通过。',
                    )
                );
            } else {
                   $this->ajaxReturn(
                    array(
                        code=>-1,
                        data=> null,
                        message=>'身份验证失败。',
                    )
                );
            }
        } else {
            if (is_login()) {
                redirect(U('Home/Index/index'));
            }
            //显示登陆页面
            $this->display();
        }
    }


    public function logoff(){
        if (IS_AJAX){
            D('User')->logoff();
            $this->ajaxReturn(
                array(
                    code=>0,
                    data=>null,
                    message=>'用户退出系统。'
                )
            );
        }
    }
}